package org.nobject.common.swing.g;

import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics;

import javax.swing.JTextArea;

public class GTextArea extends JTextArea   implements IG{
	
	
	/**
	 * 构造函数 
	 */
	public GTextArea() {
		super();
		this.core=new GComponent();
	}

	/**
	 * 构造函数 
	 * @param container
	 * @param name
	 * @param text
	 * @param preferredSize
	 */
	public GTextArea(Container container,String name,String text,Dimension preferredSize){
		this();
		if(name!=null) this.setName(name);
		if(text!=null) this.setText(text);
		
		if(preferredSize==null) preferredSize=new Dimension(-1,-1);
		if(preferredSize.width<=0) preferredSize.width=200;
		if(preferredSize.height<=0) preferredSize.height=100;
		this.setPreferredSize(preferredSize);
		if(container!=null) container.add(this);
	}
	
	/**
	 * 构造函数 
	 * @param container
	 * @param name
	 * @param text
	 */
	public GTextArea(Container container,String name,String text){
		this(container, name, text,null);
	}
	
	/**
	 * 构造函数 
	 * @param container
	 * @param name
	 */
	public GTextArea(Container container,Dimension preferredSize){
		this(container, null,null,preferredSize);
	}
	
	/**
	 * 构造函数 
	 * @param container
	 * @param name
	 */
	public GTextArea(Container container,String name){
		this(container, name,null,null);
	}
	
	/**
	 * 构造函数 
	 * @param container
	 * @param name
	 * @param preferredSize
	 */
	public GTextArea(Container container,String name,Dimension preferredSize){
		this(container, name,null,preferredSize);
	}
	
	/**
	 * 构造函数 
	 * @param preferredSize
	 */
	public GTextArea(Dimension preferredSize){
		this(null, null,null,preferredSize);
	}
	
	/** IG */
	private GComponent core;
	public GComponent getGCore() {return core;}
	
	
	public void paintChildren(Graphics g) {core.paintChildren(g);super.paintChildren(g);}
	
}
